<?php
require_once __DIR__ . '/../inc/App.php';

$app = new App("Evaluateur");
$app->header();

$steps          = array(5, 10, 25);
$evaluateur     = new Evaluateur($app->getDb());
$qRelQuestions  = array(
    array("name" => "qrelQ1.txt", "mots_clefs" => array("personnes", "Intouchables"), "description" => "Quelles sont les personnes impliquées dans le film Intouchables?"),
    array("name" => "qrelQ2.txt", "mots_clefs" => array("lieu", "naissance", "Omar Sy"), "description" => "Quel est le lieu de naissance d'Omar Sy?"),
    array("name" => "qrelQ3.txt", "mots_clefs" => array("personnes", "recompensées", "Intouchables"), "description" => "Qui a été récompensé pour Intouchables?"),
    array("name" => "qrelQ4.txt", "mots_clefs" => array("palmarès", "Globes de Cristal", "2012"), "description" => "Quel est le palmares des Globes de Cristal 2012?"),
    array("name" => "qrelQ5.txt", "mots_clefs" => array("membre", "jury", "Globes de Cristal", "2012"), "description" => "Quels sont les membres du jury du Globes de Cristal 2012?"),
    array("name" => "qrelQ6.txt", "mots_clefs" => array("prix", "Omar Sy", "Globes de Cristal", "2012"), "description" => "Quels prix ont été décernés à Omar Sy aux Globes de Cristal 2012?"),
    array("name" => "qrelQ7.txt", "mots_clefs" => array("lieu", "Globes Cristal", "2012"), "description" => "Où a eu lieu les Globes de Cristal 2012?"),
    array("name" => "qrelQ8.txt", "mots_clefs" => array("lieu", "prix", "Omar Sy"), "description" => "Quels prix ont été décernés à Omar Sy?"),
    array("name" => "qrelQ9.txt", "mots_clefs" => array("acteurs", "joué avec", "Omar Sy"), "description" => "Quels acteurs ont joué avec Omar Sy?"),
    // array("name" => "qrelQ10.txt", "mots_clefs" => array("cérémonie", "Intouchables"), "description" => "Quelles sont les cérémonies pendant lesquelles le film Intouchables a été récompensé?")
);

$pertinences    = $evaluateur
        ->setQuestions($qRelQuestions)
        ->setSteps($steps)
        ->analyse()
        ->getPertinences();

list($moyenne, $moyenneQuestion) = $evaluateur->getMoyennePertinences();
?>

<table class="table table-striped table-bordered">
    <thead>
        <tr>
            <th colspan="2">Documents</th>
            <?php foreach ($steps as $step) { ?>
                <th colspan="2" class="text-center"><?php echo $step; ?></td>
            <?php } ?>
            <th colspan="2" class="text-center">Moyennes</th>
        </tr>
        <tr>
            <th>Fichier</th>
            <th>Question</th>
            <?php foreach ($steps as $step) { ?>
            <th class="text-center">Rappel</th>
            <th class="text-center">Précision</th>
            <?php } ?>
            <th class="text-center">Rappel</th>
            <th class="text-center">Précision</th>
        </tr>
    </thead>
    <tbody>
    <?php foreach ($pertinences as $i => $pertinence) {
        $question = $pertinence->getQuestion();
    ?>
        <tr>
            <td title="<?php echo implode(", ", $question["mots_clefs"]); ?>">
                <?php echo $question["name"]; ?>
            </td>
            <td>
                <?php echo $question["description"]; ?>
            </td>
            <?php foreach($pertinence->getNotes() as $step => $note) { ?> 
                <td class="text-center">
                <?php get_html_note($note["rappel"], count($pertinence->getMatchedDocuments($step)), count($pertinence->getRelevantDocuments())); ?>
                </td>
                <td class="text-center"> 
                <?php get_html_note($note["precision"], count($pertinence->getMatchedDocuments($step)), count($pertinence->getSelectedDocuments($step))); ?>
                </td> 
                <?php
            } ?>
                <td class="text-center">
                    <?php get_html_note($moyenneQuestion[$i]["rappel"], $i); ?>
                </td>
                <td class="text-center"> 
                    <?php get_html_note($moyenneQuestion[$i]["precision"], $i); ?>
                </td>
        </tr>
    <?php } ?>
    </tbody>
    <tfoot>
        <tr>
            <td colspan="2" ><strong>Moyennes</strong></td>
            <?php foreach($moyenne as $step => $note) { ?>
            <td class="text-center">
                <?php get_html_note($note["rappel"], $step); ?>
            </td>
            <td class="text-center"> 
                <?php get_html_note($note["precision"], $step); ?>
            </td>
            <?php } ?>
            <td colspan="2"></td>
        </tr>
    </tfoot>
</table>

<?php
$app->footer();


function get_html_note($note, $numerateur, $denominateur = null)
{
    ?>
    <span title="<?php echo $denominateur !== null ? ($numerateur."/".$denominateur) : ''; ?>"
          class="label label-<?php echo ($note <= 0.34 ?
                  "danger" : ($note <= 0.67 ? "warning" : "success"));
    ?>">
        <?php echo round($note, 2); ?>
    </span>
    <?php
}
